package org.example.study6;

public class SingletonHungryTest1 {
    public static void main(String[] args) {
//        单例类的构造方法被私有化（private SingletonHungry() {}），外部无法通过 new 调用。
//        如果构造方法是公开的，单例模式将失效，因此注释掉的代码本质是“反模式”的尝试。
//        SingletonHungry instance1 = new SingletonHungry();
//        System.out.println(instance1.getInstance());

        SingletonHungry s1 = SingletonHungry.getInstance();
        SingletonHungry s2 = SingletonHungry.getInstance();
        System.out.println(s1 == s2); // 输出 true，证明是同一对象
    }
}


/*
适用场景
实例占用资源较小，且初始化不耗时。
明确需要频繁使用的单例对象（如配置管理器、线程池）。*/


/*对比懒汉式
饿汉式：
提前加载：类加载时初始化实例。
优点：线程安全、实现简单。
缺点：可能浪费资源（实例未被使用时也会加载）。

懒汉式：
延迟加载：首次调用 getInstance() 时创建实例。
优点：节省资源。
缺点：需处理多线程同步（如双重检查锁）。
*/